package oracle;

import java.sql.*;

/*
* JDBC链接Oracle数据库
* 开发步骤：
* 1.加载驱动--Oracle ---oracle.jdbc.OracleDriver
*           Mysql--com.mysql.jdbc.Driver
* 2.获取链接--链接成功数据库的对象--Connection对象
* 3.执行SQL语句【查询操作】
*  ①Oracle建表：login表  3个字段：序号（主键），姓名，手机号
*  ②编写一个静态sql：查询 select * from login;
*  ③链接数据库同时获取：执行数据库对象：Statement对象
* 4.执行sql操作
* 5.处理结果 ResultSet ,Statement, Connection
* 6.释放资源：结果集对象，执行sql对象，获取链接数据库对象
* */
/*作业：参考MysqlJDBC  写一个增加*/
public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    //1.加载驱动
    Class.forName("oracle.jdbc.OracleDriver");
    //2.获取链接【准备工作】
    String username="system";//Oracle用户名
    String password="szx20051122";//Oracle密码?????
    String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";//数据库地址
    Connection con= DriverManager.getConnection(url,username,password);
    //打桩--测试链接不成功
    System.out.println("是否链接："+con);
    //3.执行sql语句 ②编写静态sql：查询
    String sql="select * from login";
    //③链接成功数据库获取：执行数据库对象
    Statement st=con.createStatement();
    //4.执行SQL操作--返回对象：ResultSet对象：保存查询所有结果集
    ResultSet rs=st.executeQuery(sql);
    //5.处理结果  死循环：循环所有的字段下纪录
    while(rs.next()){//next()获取当前表中所有的字段
    //获取字段getInt()取数据库整型
    int id=rs.getInt("id");
    String name=rs.getString("name");
    String phone=rs.getString("phone");
    /*1.执行结果 2.增删改操作*/
        System.out.println("序号:"+id+"姓名:"+name+"手机号:"+phone);
    }
    //6.释放资源
        rs.close();
        st.close();
        con.close();

        /*作业：参考MysqlJDBC  写一个增加*/
                        // 插入操作
                        String insertSql = "INSERT INTO login (id, name, phone) VALUES (1, '张三', '13800001111')";
                        int rowsAffected = st.executeUpdate(insertSql);
                        System.out.println("插入操作受影响行数：" + rowsAffected);

    }

}
